feat: add pokemon_form_flavor_text (per-form flavor text) - #1629
Conversation
48d4ab6 to
13c2a7d
Compare
New PokemonFormFlavorText model/table exposing flavor_text_entries on /pokemon-form, mirroring the species-level table. Populated for Generation III, where Deoxys is the only Pokémon with form-specific Pokédex entries Its form was fixed per game version (Ruby/Sapphire → Normal, FireRed → Attack, LeafGreen → Defense, Emerald → Speed). Gens I–II have no form-specific entries; later generations are left for follow-up PRs.
13c2a7d to
43baa06
Compare
|
This one is ready :) |
|
Hi, about the open question, I see your point. The pokemon species flavor texts are sourced directly from the games I think. And those descriptions might be form-specific altough being in the pokemon-species CSV files. Right? Can we proceed on a per-pokemon basis? For deoxys I see the current pokemon species flavor text are pretty general and aren't form specific. You said that these entries are really forme-specific and I trust you here, but in order to be backward compatible maybe we can proceed on a per-pokemon basis and evaluate if what's written in the pokemon species flavor texts is general enough to describe the pokemon species encompassing the forms as well. |
|
Yes! Let's go! Thanks! |
|
A PokeAPI/api-data refresh has started. In ~45 minutes the staging branch of PokeAPI/api-data will be pushed with the new generated data. |
|
The updater script could not finish its job. Please check CircleCI's builds and logs. |
|
The updater script has finished its job and has now opened a Pull Request towards PokeAPI/api-data with the updated data. |
|
A PokeAPI/api-data refresh has started. In ~45 minutes the staging branch of PokeAPI/api-data will be pushed with the new generated data. |
|
The updater script has finished its job and has now opened a Pull Request towards PokeAPI/api-data with the updated data. |

Summary
Adds a new
PokemonFormFlavorTextmodel/table, exposingflavor_text_entrieson/pokemon-form/{id}. It mirrors the existing species-levelpokemon_species_flavor_text, so forms that had their own Pokédex entries can carry them explicitly.Scope
Populated for Generation III only, the earliest generation with form-specific Pokédex entries:
Later generations have more form-specific entries and are intentionally left for follow-up PRs, which keeps this one small and easy to review.
Text is copied verbatim (including line breaks and page-break characters) from the matching
pokemon_species_flavor_textrows, re-keyed to the correctpokemon_form_id. English is the only language present for these entries.Changes
PokemonFormFlavorTextmodel + migration.flavor_text_entrieson the pokemon-form detail endpoint.build.pyloader +pokemon_form_flavor_text.csv(5 rows).Open question for reviewers
These 5 Gen III Deoxys entries currently also live in
pokemon_species_flavor_text(versions 7–11), where they read as generic species entries even though they're really forme-specific.I've kept them in place, because:
/pokemon-species/deoxysis the common path consumers read; removing them would leave the species with no Gen III flavor text, which is a backwards-incompatible change.That said, one could argue they're now redundant and better represented here, so they could be dropped from the species table. I'm happy to do that (here or in a follow-up) if maintainers prefer. I'm flagging it so you can decide.
AI coding assistance disclosure
Checking everything I did is fine.
Contributor check list